Many existing Wide Area Network (WAN) architectures allow individual data packet streams to compete for bandwidth and time across long haul networks that are data restrictive and have bottlenecks or congestion. Standard long haul packet switching methods generally involve a source and one or more sinks attempting to transmit (single or multi-cast) and receive data packets across often un-reliable WANs. In this regard, a number of protocols exist for the transmission of data among various source devices and sink devices over data networks. Source devices and sink devices may take various forms including, for example, a computer server or collection of computer servers, a desktop computer, a laptop computer, a smart phone, a personal digital assistant, or the like. Source devices and sink devices may generally be referred to herein as sources and sinks Examples of protocols used in transmitting and receiving data over data networks include Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and File Transfer Protocol (FTP).
FIG. 1 depicts an exemplary prior art unicast TCP transmission of data. As shown in FIG. 1, there is a source 110 from which data is transmitted and a sink 120 that receives the data. A source transmitter 112 and a source receiver 114 are associated with the source 110 to enable transmission and reception of data streams to and from a network layer 130. A sink transmitter 122 and a sink receiver 124 are associated with the sink 120 to enable transmission and reception of signals to and from the network layer 130. A processor at the source 110 (the source processor) processes data in accordance with a TCP protocol for the transmitter 112 to transmit to the network layer 130 for delivery by the network layer 130 to the sink receiver 124. The sink receiver 124 directs the received data to a processor that is part of the sink 120 (the sink processor) for processing thereby in accordance with the TCP protocol. When called for by the TCP protocol, the processor at the sink 120 generates return data that is transmitted by the sink transmitter 122 to the network layer 130 for delivery by the network layer 130 to the source receiver 114. The source receiver 114 receives the return data and directs it to the processor of the source 110 for processing thereby in accordance with the TCP protocol. In addition to handling processing the transmitted and received data in accordance with a TCP protocol, the source and sink processors also handle processing of instructions relating to applications executing on the respective source 110 and sink 120 devices.
FIG. 2 depicts an exemplary prior art unicast UDP transmission of data. As shown in FIG. 2, there is a source 210 from which data is transmitted and a sink 220 that receives the data. A source transmitter 212 and a source receiver 214 are associated with the source 210 to enable transmission and reception of data streams to and from a network layer 230. A sink transmitter 222 and a sink receiver 224 are associated with the sink 220 to enable transmission and reception of signals to and from the network layer 230. A processor at the source 210 (the source processor) processes data in accordance with a UDP protocol for the transmitter 212 to transmit to the network layer 230 for delivery by the network layer 230 to the sink receiver 224. The sink receiver 224 directs the received data to a processor that is part of the sink 220 (the sink processor) for processing thereby in accordance with the UDP protocol. In addition to handling processing the transmitted and received data in accordance with a UDP protocol, the source and sink processors also handle processing of instructions relating to applications executing on the respective source 210 and sink 220 devices.
FIG. 3 depicts an exemplary prior art multicast UDP transmission of data. As shown in FIG. 3, there is a source 310 from which data is transmitted and a plurality of sinks 320A-320N that receive the data. A source transmitter 312 and a source receiver 314 are associated with the source 310 to enable transmission and reception of data streams to and from a network layer 330. Respective sink transmitters 322A-322N and sink receivers 324A-324N are associated with respective sinks 320A-320N to enable transmission and reception of signals to and from the network layer 330. A processor at the source 310 (the source processor) processes data in accordance with a UDP protocol for the transmitter 312 to transmit to the network layer 330 for delivery by the network layer 330 to the sink receivers 324A-324N. The respective sink receivers 324A-324N direct the received data to respective processors that are part of each respective sink 320A-320N (the sink processors) for processing thereby in accordance with the UDP protocol. In addition to handling processing the transmitted and received data in accordance with a UDP protocol, the source and sink processors also handle processing of instructions relating to applications executing on the respective source 310 and sink 320A-320N devices.
FIG. 4 depicts an exemplary prior art unicast FTP transmission of data. As shown in FIG. 4, there is a source 410, a source-side data storage device 416, a sink 420, a sink-side data storage device 426, and a network layer 430. A source transmitter 412 and a source receiver 414 are associated with the source 410 to enable transmission and reception of data streams to and from a network layer 430. A sink transmitter 422 and a sink receiver 424 are associated with the sink 420 to enable transmission and reception of data streams to and from the network layer 430. A processor at the sink 420 (the sink processor) directs the sink transmitter 422 to send a request for a desired data file over the network layer 430. The request is received by the source receiver 414 and directed thereby to a processor at the source 410 (the source processor). The source processor processes the request and retrieves the requested data file for transmission in accordance with a FTP protocol by the transmitter 412 to the network layer 430 for delivery by the network layer 430 to the sink receiver 424. The sink receiver 424 directs the received data file to the sink processor for processing thereby in accordance with the FTP protocol. In addition to handling processing the transmitted and received data file in accordance with a FTP protocol, the source and sink processors also handle processing of instructions relating to applications executing on the respective source 410 and sink 420 devices.